import { http } from '@/utils/request'

/**
 * 关注用户
 * @param {string} userId - 要关注的用户ID
 * @returns {Promise} 返回关注操作的结果
 */
export const followUser = (userId) => {
  return http.post(`/api/users/follow/${userId}`)
}

/**
 * 取消关注用户
 * @param {string} userId - 要取消关注的用户ID
 * @returns {Promise} 返回取消关注操作的结果
 */
export const unfollowUser = (userId) => {
  return http.delete(`/api/users/follow/${userId}`)
}

/**
 * 检查是否已关注用户
 * @param {string} userId - 要检查的用户ID
 * @returns {Promise} 返回关注状态
 */
export const checkFollowStatus = (userId) => {
  return http.get(`/api/users/follow/check/${userId}`)
}

/**
 * 获取用户的关注列表
 * @param {string} userId - 用户ID
 * @param {Object} params - 分页参数
 * @returns {Promise} 返回关注列表
 */
export const getFollowingList = (userId, params) => {
  return http.get(`/api/users/follow/following/${userId}`, { params })
}

/**
 * 获取用户的粉丝列表
 * @param {string} userId - 用户ID
 * @param {Object} params - 分页参数
 * @returns {Promise} 返回粉丝列表
 */
export const getFollowersList = (userId, params) => {
  return http.get(`/api/users/follow/followers/${userId}`, { params })
}

/**
 * 获取用户的关注和粉丝数量
 * @param {string} userId - 用户ID
 * @returns {Promise} 返回关注和粉丝数量
 */
export const getFollowCounts = (userId) => {
  return http.get(`/api/users/follow/counts/${userId}`)
} 